昨天我們講到的是for迴圈,今天我們要講到的也是迴圈:while
while 其實就跟英文字面上的意思沒有太大的區別,也就是 當 的意思。
當有什麼條件達成時,那我們就做什麼事情,如果條件不成立了,那我們就不會繼續我們給他做的指令。
舉個例子:假設你跟你女朋友用名牌包換感情,那當你今天送她名牌包她就會愛你,但你明天沒送的話就會去愛別人了,也不會回過頭來找你(因為while過了就迴圈跳出結束了)
不囉唆,上code:
var a = 0
while a < 10{
a = a + 1
print(a)
}
會一直加到10
a到10的時候會再跳回while 的條件式去做判斷,但到這個地方時因為並沒有小於10,所以這邊就跳出迴圈了。
其實while也可以做到for迴圈的作用,只要加一個變數i讓i從0跑到10,可以寫是沒有錯,但有可能會有效率的問題。
這邊所說的效率問題不是真的效率而是你大量做判斷的時候可能會有些許影響,因為這邊你做的只是很簡單的判斷,電腦秒回答你,但如果你計算的是天文數字,那情況可能就會差異很大。所以開發出一個專案看似簡單容易,但殊不知背後有多少的調整簡化。
var a = 0
while a < 10001{
for i in 1...10{
a = a + 1
}
print(a)
}
print("Answer is",a)
這邊我們設定a小於10001,但實際上輸出大於10001,原因是最後一次運算就會超過了,但回去判斷的時候過不了,程式就結束了!
這幾天學了回圈的概念,可能會很難理解,但多練習就會有相對理解這些到底是什麼意思。
明天我們來學習函式定義。